/*
 1.同步文件读取
 2.异步文件读取
 3.简单文件读取
    fs.readFile(path[, options], callback)
    fs.readFileSync(path[, options])
        path:路径
        option:配置参数 比如flag:w 一般不写
        callback:回调函数(err,data) 通过回调函数将读取的数据返回(异步)
           参数 err:错误对象 错误优先
                data:读取到的数据  会返回一个buffer
            异步的需要回调函数返回 同步的的值需要定义一个参数接收

 4.流式文件读取
open close


* */
//同步读取
    var fs=require("fs");//引入fs模块
    // var fd=fs.openSync("hello2.txt","r");
    // var buf=Buffer.alloc(9);
    // var fr=fs.readSync(fd,buf);
    // // console.log(buf+""); //读文件里的内容
    // console.log(buf.toString()); //读文件里的内容
//异步读取
    fd=fs.open("hello.txt","r",function (err,fd) {
          if(!err){
              console.log(fd);
          }else {
              return;
          }
          var buf2=Buffer.alloc(9);
          var fr=fs.read(fd,buf2,0,7,0,function (err,bytesRead,buf2) {
            if (!err){
                // console.log(buf2);
                console.log(buf2.toString());
            }
          })
    });
//简单文件读取 ---异步
    fs.readFile("hello1.txt",function (err,data) {
        if (!err){
            console.log(data+"");
         }
        });
    // 复制图片
    fs.readFile("向日葵.png",function (err,data) {
            if (!err){
                // console.log(data);
                fs.writeFile("向日葵2.png",data,function (err) {
                    if (!err){
                        console.log("图片写入成功");
                    }
                });
            }
    });
// //简单文件读取 ---同步
//   var fr=fs.readFileSync("hello2.txt");
//   console.log(fr+"");
